1
CUDA 内核开发基础
AI021Lesson 2
00:00

CUDA 内核开发始于对一个 内核的定义,它是一个专门设计用于在拥有海量核心数的 NVIDIA GPU上并行执行的特殊 C++ 函数。这些函数是 CUDA 编程模型中的基本工作单元,充当了串行主机逻辑向大规模并行设备执行过渡的桥梁。

1. __global__ 限定符

__global__ 声明限定符是必需的 API 限定符,它指示编译器为 GPU 生成代码,同时保持函数入口点对 CPU 可见。 可在主机上调用并在 GPU 上执行的函数被称为内核。

2. 执行环境

内核被分派到并执行于 流式多处理器(SMs)。SM 是 NVIDIA GPU 中的核心计算引擎,负责管理数百个并发线程。每个 SM 负责处理线程块,并将它们调度到处理核心上。

语法规则: 内核必须严格返回 void。由于它们与主机异步运行,无法直接向 CPU 返回值;必须将结果写回分配的设备内存中。

主机(CPU)设备(NVIDIA GPU)流式多处理器(SM)内核启动
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>